package com.qixin.util.properties;

import org.apache.commons.lang3.StringUtils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * @ClassName PropertiesUtil
 * @Description TODO(读取配置文件工具类)
 * @author liuyong
 * @Date 2017年5月17日 下午6:42:17
 * @version 1.0.0
 */
public class PropertiesUtil {
	
	private static final String PROPERTIES_FILE_URL = "/dictionary.properties";
	
	private static String url;
	
	/**
	 * @author liuyong
	 * @Date 2017年5月18日 上午9:49:24
	 * @version 1.0.0
	 * @Description (设置读取文件的路径)
	 * @param path
	 */
	public static void setPropertiesFileUrl(String path){
		url = path;
	}
	
	/**
	 * @author liuyong
	 * @Date 2017年5月17日 下午6:36:44
	 * @version 1.0.0
	 * @Description (从配置文件中获取配置值)
	 * @param key
	 * @return
	 */
	public static String getProperties(String key){
		return getProperties(key,null);
	}
	
	/**
	 * @author liuyong
	 * @Date 2017年5月17日 下午6:45:04
	 * @version 1.0.0
	 * @Description (从配置文件中获取配置值，如果取值为空设置默认值)
	 * @param key
	 * @param defaultValue
	 * @return
	 */
	public static String getProperties(String key,String defaultValue){
		if(StringUtils.isEmpty(key)){
			return defaultValue;
		}
		if(StringUtils.isEmpty(url)){
			url = PROPERTIES_FILE_URL;
		}
		Properties properties = new Properties();
        InputStream in =  PropertiesUtil.class.getResourceAsStream(url);
        try {
            properties.load(in);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return properties.getProperty(key,defaultValue);
	}
}
